#if !defined(X_MACROS_BODY)
#error Please define X_MACROS_BODY
#elif !defined(X_MACROS_NAME)
#error Please define X_MACROS_NAME
#else

#ifdef INCLUDE_X_MACROS
#define X_MERGE(a, b) MERGE(a, b)
#define MERGE(a, b) a##b
extern x_macro_info_t X_MERGE(X_MACROS_NAME, _INFO)[];
#undef MERGE
#undef X_MERGE
#endif

#undef X_MACROS_NAME
#undef X_MACROS_BODY
#endif
